The present invention relates to automated techniques for setting up machine learning devices to be used for image recognition.
Image recognition has a number of potential applications. For example, image recognition may be used for tracking product stocking on store and warehouse shelves, for surveillance of indoor or outdoor areas, and for detection of particular people, animals, cars, trucks, etc. Where large areas are to be monitored, relatively large numbers of monitoring devices may be installed. For example, a supermarket or other store, may install hundreds or thousands of small devices, such as single board computing devices, to monitor its shelves. Typically, single board computing devices have limited memory resources. Thus, is not feasible to load a generic machine learning model that would cover a whole store, or even a department, on every device. However, such devices have sufficient resources to store a model that covers only the subsection of products that the individual device is set to monitor.
Some conventional monitoring systems may use a limited generic model installed on every device. However, given the limited memory on the devices, this generic model must be small. Such a small model cannot deliver the adequate detection performance—rates and accuracy. Some conventional monitoring systems may use the monitoring device merely as an interface to cloud computing resources. The image recognition itself may then be performed in the cloud. However, in these systems, the computational resources on the devices themselves are not utilized. This results in additional costs for cloud computing and unnecessary network traffic. As each such device includes computational resources and is already purchased, there is a strong incentive to process captured shelf images on the devices rather on the cloud. However, manual configuration of a different model on each of hundreds or thousands of computing devices is very time-consuming and costly.
Accordingly, a need arises for techniques to quickly and easily install a different image recognition model on each of numerous devices without doing manual configuration of each and every device.